package com.mszlu.blog.utils;

import com.mszlu.blog.dao.pojo.SysUser;

/**
 * @Author linKe
 * @Date 2021/12/5 13:31
 * 用户本地线程
 */

public class UserThreadLocal {

    private UserThreadLocal(){}

    /**
     *  线程变量隔离
     *  创建线程局部变量。 变量的初始值是通过调用Supplier的get方法来确定的。
     *  存储线程特有的信息   私有线程信息存储
     *  线程安全中的一个解决方案
     */
    private static final ThreadLocal<SysUser> LOCAL = new ThreadLocal<>();
    public static void put(SysUser sysUser){
        //存储
        LOCAL.set(sysUser);
    }

    public static SysUser get(){
        //获取
        return LOCAL.get();
    }

    public static void remove(){
        //移除
        LOCAL.remove();
    }
}
